I/O運作處理就是指CPU與I/O之間的溝通
I/O架構有兩種:
1.同步:I/O運作完成後才交回,因此一段時間內只會有一個I/O請求產生。
2.非同步:不等I/O完成,即刻交回,因此在一段時間內,會同時有多個I/O request產生,OS需使用"Device status table"來進行記錄。
I/O運作分為三種
1.Busy waiting I/O(Polling I/O)
就是當process運行到某部分時會發出I/O request來進行週期性的檢查,I/O只需要將資訊放進暫存器就好了,這是最簡單的溝通方式。
2.Interrupt-driven I/O
這就是上一篇interrupt有提到的,當有I/O裝置需要,便會利用interrupt來通知CPU。
3.DMA (Direct Memory Access)
就是提供一個控制器來負責I/O設備與記憶體間的資料傳輸,使CPU不需要參與,CPU便能擁有更多時間在process執行。